import java.time.InstantSource;
import java.util.Random;
import java.util.Scanner;

public class test {

    public static int fib(int n) {
        if(n == 1){
            return 1;
        }
        int a = 0;
        int b = 1;
        int c = 0;
        for (int i = 0; i < n - 1; i++) {
            c = a + b;
            a = b;
            b = c;
        }
        return c;
    }

//    求斐波那契数列的第n项。(迭代实现)
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int ret = fib(n);
        System.out.println(ret);
    }

//    在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值？
    public static int Max(int num1, int num2) {
        return Math.max(num1,num2);
    }

    public static double Max(double num1, double num2, double num3) {
        return Math.max(Math.max(num1,num2),num3);
    }

    public static void main8(String[] args) {
        System.out.println(Max(10,20));
        System.out.println(Max(3.14,2.56,5.25));
    }

    //阶乘
    public static int jc(int n) {
        int sum = 1;
        for (int i = 1; i <= n; i++) {
            sum *= i;
        }
        return sum;
    }

    //阶乘之和
    public static int jcSum(int n) {
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += jc(i);
        }
        return sum;
    }

    public static void main7(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int ret = jcSum(n);
        System.out.println(ret);
    }

//    编写代码模拟三次密码输入的场景。 最多能输入三次密码，密码正确，提示“登录成功”,密码错误， 可以重新输 入，最多输入三次。三次均错，则提示退出程序
    public static void main6(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int count = 3;
        while(count != 0){
            System.out.println("请输入密码：");
            String code = scanner.nextLine();
            if(code.equals("123456")){
                System.out.println("登录成功");
                break;
            }else{
                count--;
                if(count == 0){
                    System.out.println("三次输入错误，退出程序");
                    break;
                }
                System.out.println("密码错误，重新输入");
            }
            System.out.println("你还有"+count+"次机会");
        }
        scanner.close();
    }


    //    输出一个整数的每一位，如：123的每一位是3，2，1
    public static void main5(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int ret = 0;
        while(n != 0){
            if(n<10){
                System.out.println(n);
            }else{
                ret = n % 10;
                System.out.println(ret);
            }
            n /= 10;
        }
    }


    //完成猜数字游戏，用户输入数字，判断该数字是大于，小于，还是等于随机生成的数字，等于的时候退出程序。
    public static void main4(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();
        int rnd = random.nextInt(100);
        boolean flag = true;
        while(flag){
            int n = scanner.nextInt();
            if(n > rnd){
                System.out.println("猜大了");
            }else if(n < rnd){
                System.out.println("猜小了");
            }else{
                System.out.println("猜对了");
                flag = false;
                break;
            }
        }
        scanner.close();
    }

    public static void main3(String[] args) {
        Scanner input = new Scanner(System.in);

        while(input.hasNextInt()){
            int n = input.nextInt();
            System.out.println(n);
        }

        System.out.println("输入姓名：");
        String name = input.nextLine();
        String name2 = input.next();
        System.out.println(name);

        System.out.println("输入年龄：");
        int age = input.nextInt();
        System.out.println(age);

        System.out.println("输入体重：");
        double weight = input.nextDouble();
        System.out.println(weight);


    }

        //打印x图案
        public static void main2(String[] args) {
            Scanner in = new Scanner(System.in);
            while (in.hasNextInt()) {
                int n = in.nextInt();
                for(int i = 0; i<n; i++){
                    for(int j = 0; j<n; j++){
                        if(i == j || i + j == n - 1){
                            System.out.print("*");
                        }
                        else{
                            System.out.print(" ");
                        }
                    }
                    System.out.println();
                }
            }
        }

    //求出0～n之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数，其各位数字的立方和确好等于该数本 身，如；153＝1^3＋5^3＋3^3，则153是一个“水仙花数“。）
    public static void main1(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        for (int i = 0; i < n; i++) {
            int sum = 0;
            int count = 0;
            int tmp = i;
            while(tmp != 0){
                tmp /= 10;
                count++;
            }
            tmp = i;
            while(tmp != 0){
                sum += Math.pow(tmp % 10, count);
                tmp /= 10;
            }
            if(sum == i){
                System.out.println(i);
            }

        }
    }

/*//    打印 1 - 100 之间所有的素数
    public static void main(String[] args) {

        for(int i = 2; i<=100; i++){
            boolean flag = true;
            for(int j = 2; j <= Math.sqrt(i); j++){
                if(i % j ==0){
                    flag = false;
                    break;
                }

            }
            if(flag){
                System.out.println(i);
            }
        }

    }*/

/*    //    输出 1000 - 2000 之间所有的闰年
    public static void main(String[] args) {
        for(int year = 1000; year <= 2000; year++){
            if(year % 100 != 0){
                if(year % 4 == 0){
                    System.out.println(year);
                }
            }
            else{
                if(year % 400 == 0){
                    System.out.println(year);
                }
            }
        }
    }*/

/*//    编写程序数一下 1到 100 的所有整数中出现多少个数字9
    public static void main(String[] args) {
        int sum = 0;
        for(int i = 1; i <= 100; i++){
            if(i % 10 == 9){
                sum++;
            }
            if(i / 10 == 9){
                sum++;
            }
        }
        System.out.println("1到100的所有整数中出现9的个数为:" + sum);
    }*/

/*//    给定两个数，求这两个数的最大公约数
//    例如：
//    输入：20 40
//    输出：20

    //方法一：
    public static void main10(String[] args) {
        int num1 = 20;
        int num2 = 40;
        int ret = 0;
        for(int i = 1; i <= Math.min(num1,num2); i++ ){
            if(num1 % i == 0 && num2 % i == 0){
                ret = i;
            }
        }
        System.out.println(ret);//最大公约数
        System.out.println(num1 * num2 / ret);//最小公倍数
    }

    //方法二：辗转相除阿法
    public static void main11(String[] args) {
        int num1 = 18;
        int num2 = 24;
        int tmp = num1 % num2;
        while(tmp != 0){
            num1 =num2;
            num2 = tmp;
            tmp = num1 % num2;
        }
        System.out.println(num2);//最大公约数
    }*/

/*//    计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
    public static void main(String[] args) {
        double sum = 1.0;
        for(double i = 2; i <= 100; i++){
            if(i % 2 == 0){
                sum -= (1 / i);
            }else{
                sum += (1 / i);
            }
        }
        System.out.println("计算结果为："+sum);
    }*/



}

